#!/bin/bash

# 计算阶乘
function fac {
	if [[ $1 -eq 1 ]]; then
		echo 1
	else
		local temp=$[ $1 - 1 ]
		# echo "temp=$temp" # 递归使用echo作为返回值，所以这里不能有echo输出
		local tmpResult=$(fac $temp)
		echo $[ $tmpResult * $1 ]
	fi
}

value=5
facRes=$(fac $value)
echo $facRes


# function factorial {
# 	if [ $1 -eq 1 ]
# 	then
# 		echo 1
# 	else
# 		local temp=$[ $1 - 1 ]
# 		local result=$(factorial $temp)
# 		echo $[ $result * $1 ]
# 	fi
# }

# value=5;
# facRes=$(factorial $value)
# echo "result=$facRes"

# read -p "Enter value: " value
# result=$(factorial $value)
# echo "The factorial of $value is: $result"


# source命令会在当前shell上下文中执行命令，
# 而不是创建一个新shell。可以用source命令来在shell脚本中运行库文件脚本。
# 这样脚本就可以使用库中的函数了。
# source ./myMathLib.sh
# result=$(addem 123 123)
# echo "result = ${result}"

# source命令有个快捷的别名，称作点操作符（dot operator）。
# 要在shell脚本中运行库文件，只需添加下面这行：
. ./myMathLib.sh
result=$(addem 123 123)
echo "result = ${result}"


####### 配置
# 定义需要替换的类的查找目录，作为参数传递给GenRenameClasses.sh脚本使用，最终获取到的类名称保存到配置文件中，以给后续步骤使用
class_search_dir="$(pwd)/../les2"
# class_search_dir="$(pwd)/noexit"
# 配置文件
cfg_file="$(pwd)/RenameClasses.cfg"

# project.pbxproj文件目录，需要替换该配置文件中的类的名称配置
pbxproj_dir="$(pwd)/../InjectedContentKit.xcodeproj"
# 定义该目录下的文件需要进行批量替换处理
classes_dir="$(pwd)/../InjectedContentKit"

# 类前缀
class_prefix="XYZ"
# 类后缀
class_suffix="ABC"

####### 配置检查处理

# 导入工具脚本
. ./FileUtil.sh

# 检测class_search_dir
checkDirCore $class_search_dir "指定类的查找目录不存在"
class_search_dir=${CheckInputDestDirRecursiveReturnValue}

# 检测 pbxproj_dir
checkDirCore $pbxproj_dir "指定项目配置目录（pbxproj所在的目录，一般是 xxx.xcodeproj）不存在"
pbxproj_dir=${CheckInputDestDirRecursiveReturnValue}


echo "class_search_dir = ${class_search_dir}"
echo "pbxproj_dir = ${pbxproj_dir}"
